package com.bh.order.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Dict;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 服务区域对象 jc_server_zone
 *
 * @author slx
 * @date 2023-04-24
 */
@TableName("jc_server_zone")
@Data
public class JcServerZone extends BhtmsBaseEntity implements Serializable {
    

    /**
     * 运点类型(派送0,其他1)， 默认0
     */
    @Excel(name = "运点类型(派送0,其他1)")
    private Integer type;


    @Dict(dictTable = "jc_sys_organization", dictLabel = "name", dictValue = "id")
    private Long jcOrganizationId;

    @Excel(name = "组织机构")
    @TableField(exist = false)
    private String jcOrganizationIdDtLabel;

    @Dict(dictTable = "jc_zone", dictLabel = "name", dictValue = "id")
    private String jcZones;

    @Excel(name = "区域名称")
    @TableField(exist = false)
    private String jcZonesDtLabel;

    @Dict(dictTable = "jc_zone", dictLabel = "name", dictValue = "id")
    private Long jcZoneId;

    @TableField(exist = false)
    private String jcZoneIds;

    @TableField(exist = false)
    private String jcZoneIdDtLabel;


    private BigDecimal minMoney;


    private BigDecimal volumePrices;


    private BigDecimal weightPrices;


    private BigDecimal deliveryCharge;

    @Excel(name = "公里数", prompt = "填写小数")
    private BigDecimal mileage;

    /**
     * 末端配送时效
     */
    @Excel(name = "末端配送时效", prompt = "填写整数")
    public Integer endShippingTime;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("description", getDescription())
               
                .append("modifyName", getModifyName())
                .append("modifyTime", getModifyTime())
                .append("name", getName())
                .append("status", getStatus())
                .append("type", getType())
                .append("jcOrganizationId", getJcOrganizationId())
                .append("jcZoneId", getJcZoneId())
                .append("minMoney", getMinMoney())
                .append("volumePrices", getVolumePrices())
                .append("weightPrices", getWeightPrices())
                .append("mileage", getMileage())
                .append("deliveryCharge", getDeliveryCharge())
                .toString();
    }
}
